//
// Created by redcat1 on 01.05.2024.
//

#include "vector_.h"
#include <iostream>

//
std::ostream& operator<<(std::ostream& os, const Vector& v)
{
  os << "{";
  for (int i = 0; i < v.Size(); ++i)
  {
    os << v.At(i);
    if (i !=  v.Size() - 1)
    {
      os << ", ";
    }
  }
  os << "}";
  return os;
}

//
int main()
{
  Vector v1(5, 7.5);
  std::cout << "v1 = " << v1 << std::endl;
  v1.Insert(2, 5);
  v1.Insert(6, 6);
  const Vector v2(v1);
  std::cout << "v1 = " << v1 << std::endl;
  v1.Erase(0);
  v1.Erase(1);
  Vector v3(v2);
  std::cout << "v1 = "<< v1 << std::endl;
  std::cout << "v2 = " << v2 << std::endl;
  std::cout << "v3 = " << v3 << std::endl;
  v3 = v1;
  std::cout << "v1 = " << v1 << std::endl;
  std::cout << "v2 = " << v2 << std::endl;
  std::cout << "v3 = " << v3 << std::endl;

  return 0;
}